The present invention relates to data systems, and in particular, to a slave computer which can be remotely controlled by a master computer via a small number of electrical connections.
It is known to employ a computer to control various equipment such as test instruments for monitoring a unit under test. Such systems have included peripheral units for programming the computer. For example, a computing system could include a group of parallel bit switches for manually sending single word instructions. These manual switches can cooperate with other control switches for interrupting the computer. Such systems have included teletypewriters having tape readers for originally programming the computer. A disadvantage of such systems is that reprogramming and debugging can be very time consuming because of the tape reader and manual switches employed.
One solution has been the provision of a link for exchanging data between a master and slave computer. An interface was used to bring each computer's control and information lines into compatibility. In this arrangement, the slave computer is used to control the test equipment and obtain information from the test equipment. The slave computer can be reprogrammed via the interface without the necessity of transferring tape from one computer to the next. Such an arrangement allows the slave computer to control the various test equipment while the slave computer itself is controlled by, and sending information to, the master computer.
One problem with such an arrangement is that the master computer must be connected via data lines to the slave computer. Where short distances are involved, this merely involves handling heavy cables. On the other hand, these data lines place severe restrictions on the distances at which communications can be established between the master and slave computers. As an alternative, software changes have been made by providing program information in recorded form.
In order to reduce the dependency of a slave computer on the physical location of the master computer, it is desired to use a serial bus as a data communications link between the master and slave computers. Such a serial data bus would enable one, through the use of modems, to transmit data over ordinary telephone lines. This would greatly facilitate a remote location of a slave computer by allowing such a slave computer to be moved to a remote location while allowing the master computer to remain stationary.
In the modifying a slave computer's program, it is often necessary to obtain data from the slave computer. This is particularly important when the master-slave computer arrangement is used for interactive debugging. When a slave computer is attempting to transfer information to and from a master computer, the use of a serial line bus presents restrictions on the amount of data which may be simultaneously transmitted. In order to overcome these difficulties, the information transmitted must be translated before being transferred between the bus and the operating program of the slave computer. If the slave computer must perform such time queuing functions, then a portion of its memory and its programming must be used for that purpose. For this reason, it is desirable that an interface between a serial bus and a computer be capable of performing its own time queuing functions and be able to transfer information between the serial bus and the slave computer in forms which are compatible with the real-time operation of both.